A data storage system is typically set up so that one of the properties of elements of the system is that they are as evenly loaded as possible in terms of activity performed by the elements. Such load balancing enhances the ability of the data storage system to perform efficiently. Methods are known in the art for effecting and maintaining load balancing.
U.S. Pat. No. 6,578,068 to Bowman-Amuah, whose disclosure is incorporated herein by reference, describes a method for distributing incoming requests to a storage system. The requests are received and stored by an activity module, which instructs a client to handle a first subset of the requests and passes a second subset of the requests on to a load balancer. The load balancer sends particular requests of the second subset to a server component determined to be most appropriate to receive the request.
U.S. Pat. No. 6,604,171 to Sade, whose disclosure is incorporated herein by reference, describes managing a cache memory by using a first cache memory, copying data from the first cache memory to a second cache memory, and, following copying, using the second cache memory along with the first cache memory.
U.S. Pat. No. 6,886,074 to Narayanaswamy, et al., whose disclosure is incorporated herein by reference, describes a method for load balancing a redundant array of inexpensive disks (RAID). Data is stored on two drives, and counters of read commands for the drives are maintained. A new read command is directed to the drive having the lowest counter.
U.S. Patent Application 2005/0015554 to Zohar, et al., whose disclosure is incorporated herein by reference, refers to a data storage system having a number of caches. The disclosure describes one of the caches of the system being unable to retrieve data from or store data at a range of logical addresses. In response to the inability, one or more other caches are reconfigured to retrieve data from and store at the range while continuing to retrieve data from and store at other ranges of logical addresses.
In addition to the mechanisms described above, methods are known in the art that predict, or attempt to predict, occurrence of failure or incorrect operation in an element of a storage system. One such method, known as Self-Monitoring Analysis and Reporting Technology (SMART), incorporates logic and/or sensors into a hard disk drive to monitor characteristics of the drive. A description of SMART, by Charles M. Kozierok, titled Self-Monitoring Analysis and Reporting Technology (SMART), in The PC Guide, published in April, 2001, incorporated herein by reference. Values of the monitored characteristics are used to predict a possible pending problem, and/or provide an alert for such a problem.
Notwithstanding the methods described above, there is a need for an improved process for handling unbalanced systems.